x86/vMCE: remove is_vmce_ready check
authorLiu Jinsong <jinsong.liu@intel.com>
Thu, 16 May 2013 08:34:42 +0000 (10:34 +0200)
committerJan Beulich <jbeulich@suse.com>
Thu, 16 May 2013 08:34:42 +0000 (10:34 +0200)
commit71ba77fcf27149a6c75d7d4720f6566f7034ee55
treeedfe0c65577c31b414dc01b89767160bd08b561a
parentafa65ddfd88184a894d9364bec587554c28c20e0
x86/vMCE: remove is_vmce_ready check

Remove is_vmce_ready() check since
1. it's problematic and overkilled: it checks if virq bind to dom0 mcelog
driver. That's not correct, since mcelog is just a dom0 driver used to log
error info, irrelated to dom0 vmce injection. It's also overkilled, defaulty
dom0 disabled mcelog driver, under such case this checking would resulting
in system crash:
(XEN) MCE: This error page is ownded by DOM 0
(XEN) DOM0 not ready for vMCE
(XEN) domain_crash called from mcaction.c:133
(XEN) Domain 0 reported crashed by domain 32767 on cpu#31:
(XEN) Domain 0 crashed: rebooting machine in 5 seconds.
(XEN) Resetting with ACPI MEMORY or I/O RESET_REG.

2. it's redundant: hypervisor in fact has checked
1). whether dom0 vmce ready or not (at inject_vmce()), via checking
    vmce trap callback, to make sure vmce injection OK;
2). whether dom0 mcelog driver ready or not (at mce_softirq()), via
    virq binding, to make sure error log works;

3. it's deprecated: for hvm, it checks whether guest vcpu has different
virtual family/model with that of host pcpu --> that's deprecated, since
vMCE has changed a lot, not bound to host MCE any more.

Signed-off-by: Liu Jinsong <jinsong.liu@intel.com>
Acked-by: Christoph Egger <chegger@amazon.de>
xen/arch/x86/cpu/mcheck/mcaction.c
xen/arch/x86/cpu/mcheck/vmce.c
xen/arch/x86/cpu/mcheck/vmce.h